feat: implement license resolution and identification#403
Conversation
Review Summary by QodoImplement license resolution and dependency compatibility checking
WalkthroughsDescription• Implement license resolution from manifest and LICENSE files • Add license compatibility checking for dependencies in component analysis • Create new CLI command for project license information retrieval • Include project license in generated SBOM root component • Refactor header constants to tools module for reusability Diagramflowchart LR
A["Project License<br/>Resolution"] -->|manifest + file| B["License<br/>Mismatch<br/>Detection"]
C["Component<br/>Analysis"] -->|SBOM| D["Extract<br/>Dependencies"]
D -->|purls| E["Backend<br/>License API"]
E -->|licenses + category| F["Compatibility<br/>Check"]
A -->|license| G["SBOM Root<br/>Component"]
F -->|incompatible list| H["License<br/>Summary"]
I["CLI License<br/>Command"] -->|manifest path| A
A -->|details| I
File Changes1. src/license/index.js
|
Code Review by Qodo
1. SBOM license always uses id
|
Signed-off-by: Ruben Romero Montes <rromerom@redhat.com> Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Signed-off-by: Ruben Romero Montes <rromerom@redhat.com> Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Signed-off-by: Ruben Romero Montes <rromerom@redhat.com> Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
96a0e8c to
9c2b64f
Compare
Signed-off-by: Ruben Romero Montes <rromerom@redhat.com>
…ge consistent Signed-off-by: Ruben Romero Montes <rromerom@redhat.com>
|
@Strum355 I have refactored the license files to include them in the providers. I've also updated some leftovers from the removed providers and all the endpoints to use |
Signed-off-by: Ruben Romero Montes <rromerom@redhat.com>
Strum355
left a comment
There was a problem hiding this comment.
Some non-blocking issues but LGTM 👍
Signed-off-by: Ruben Romero Montes <rromerom@redhat.com>
Description
TRUSTIFY_DA_LICENSE_CHECK=falsepackage.json,pom.xml)LICENSE,LICENSE.md,LICENSE.txt) in the same directory as the manifestexhort license <manifest>returns machine-readable JSON with:Related issues (if any):
Checklist